/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package GUI;

import com.itextpdf.text.DocumentException;
import dominio.Relatorio;
import geradores.GeradorPdf;
import geradores.GeradorRelatorioJasper;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.text.Document;
import negocio.RelatorioNegocio;

/**
 *
 * @author gilcemar e naliane
 */
public class ControladorRelatorio implements ActionListener{
    private JanelaRelatorio janelaRelatorio;
    private GeradorPdf geradorPdf;
    private GeradorRelatorioJasper gerador;

    public void setJanelaRelatorio(JanelaRelatorio janelaRelatorio) {
        this.janelaRelatorio = janelaRelatorio;
    }

    public void gerarRelatorio (String mesAno) throws FileNotFoundException, DocumentException, IOException
    {
        gerador= new GeradorRelatorioJasper();
        geradorPdf = new GeradorPdf();
        RelatorioNegocio relatorioNegocio = new RelatorioNegocio();
        //gerador.gerarRelatorio(relatorioNegocio.gerarRelatorio(mesAno));
        janelaRelatorio.getjTextPane1().setText(geradorPdf.gerarPdf(relatorioNegocio.gerarRelatorio(mesAno)));
    }

    public List<String> encontraAnosDosConsorcios ()
    {
        RelatorioNegocio negocio = new RelatorioNegocio();
        List<Relatorio> relarios = negocio.encontrarTodosRelatorios();
        List<String> anos = new ArrayList<String>();
        for (int i =0; i<relarios.size();i++)
        {
            int indice = relarios.get(i).getMesAno().indexOf("-");
            String ano = relarios.get(i).getMesAno().substring(0, indice);
            if (anos.contains(ano))
            {

            }else
            {
                anos.add(ano);
            }
        }
        return anos;
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getActionCommand().equalsIgnoreCase("Gerar Relatório"))
        {
            try {
                gerarRelatorio(janelaRelatorio.getComboBoxAno() + "-" + janelaRelatorio.getComboBoxMes());
            } catch (FileNotFoundException ex) {
                Logger.getLogger(ControladorRelatorio.class.getName()).log(Level.SEVERE, null, ex);
            } catch (DocumentException ex) {
                Logger.getLogger(ControladorRelatorio.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IOException ex) {
                Logger.getLogger(ControladorRelatorio.class.getName()).log(Level.SEVERE, null, ex);
            }
           
        }
    }
}
